/**用户业务逻辑 */

const UserDao = require('../dao/user-dao.js')
const bcrypt = require('bcrypt');
const UserService = {
    /**
     * 用户登录
     */
    login(req,res,next){
        //从请求中获取传递的用户名和密码
        const {username,password}=req.body;
        //从数据库查询用户相关的信息
        UserDao.find({username}).then((data)=>{
            console.log(data)
            //data是个数组结构
            if(data.length ===1){//用户名一致
                //if(data[0].password ===password){//密码一致
                if(bcrypt.compareSync(password, data[0].password)){
                    res.json({
                        res_code:1,
                        res_error:'',
                        res_body:{
                            status:1,
                            data:{username}

                        }

                    })
                }else{//密码不一致
                    res.json({
                        res_code:1,
                        res_error:'',
                        res_nody:{
                            status:1,
                            body:{}
                        }
                    })
                }
            }else{//用户名错误
                res.json({
                    res_code:1,
                    res_error:"",
                    res_body:{
                        status:0,
                        data:{}
                    }
                })
            }
          
        })
        .catch((err)=>{
            console.log(data)
            res.json({
                    res_code:1,
                    res_error:"",
                    res_body:{
                        status:0,
                        data:{}
                    }
                })
            })
       
    },
    /**
     * 用户注册
     */
    register(req,res,next){
        //从post请求中获取数据
        const{username,password,email}=req.body;
        //加密
        var hash = bcrypt.hashSync(password,10)
        //保存到数据库
        console.log(hash)
        UserDao.save({username,password:hash,email})
        .then((data)=>{
            console.log(data)
            res.json({
                res_code:1,
                res_error:"",
                res_body:{
                    status:1,
                    data:{username}
                }
            })
        }).catch((err)=>{
            console.log(error)
            res.json({
                res_code:1,
                res_error:err,
                res_body:{
                    status:0,
                    data:{}
                }
            })
        })

    },
    /**
     * 用户退出
     */
    logout(){

    }
};

//定义模块
module.exports = UserService;